Linuxword Global
当前位置: 通信协议 > 网卡限速工具,WonderShaper,服务器自我限速
  • 什么是WonderShaper
  • 如何安装WonderShaper
  • WonderShaper使用帮助
  • WonderShaper使用示例
    • 查看网卡状态
    • 限制网卡速度(单位Kbps)
    • 取消限速
  • WonderShaper在测试中的应用
  • 网速单位转换
  • 总结

1.什么是WonderShaper

WonderShaper是用来对特定网卡进行快速限速的工具,它实际是对linux的tc命令进行封装后的shell脚本,所以使用成本比tc更低,更容易上手,以下配合测速工具speedtest一起使用

2.如何安装WonderShaper

 
 
#直接拉取WonderShaper,开箱即用
 
git clone https://github.com/magnific0/wondershaper.git
 
 
 
root@****-5491:/home/soft/wondershaper# ./wondershaper -v
 
Version 1.4.1
 
root@****-5491:/home/soft/wondershaper#
 
 
 
#网速测试工具speedtest安装(Ubuntu)
 
apt install speedtest-cli
 
--yum install speedtest-cli (centos)
 
 
 

3.WonderShaper使用帮助

 
 
root@****-5491:/home/soft/wondershaper# ./wondershaper -h
 
USAGE: ./wondershaper [-hcs] [-a <adapter>] [-d <rate>] [-u <rate>]
 
 
 
Limit the bandwidth of an adapter
 
 
 
OPTIONS:
 
-h Show this message 【帮助信息】
 
-a <adapter> Set the adapter 【指定网卡接口】
 
-d <rate> Set maximum download rate (in Kbps) and/or 【限制下载速度(Kbps)】
 
-u <rate> Set maximum upload rate (in Kbps) 【限制上传速度(Kbps)】
 
-p Use presets in "/etc/systemd/wondershaper.conf"
 
-f <file> Use alternative preset file
 
-c Clear the limits from adapter 【清除指定网卡规则,用于取消限速】
 
-s Show the current status of adapter 【显示当前网卡的状态】
 
-v Show the current version 【显示当前版本】
 
 
 
Configure HIPRIODST in "/etc/systemd/wondershaper.conf" for hosts
 
requiring high priority i.e. in case ssh uses dport 443.
 
 
 
MODES:
 
wondershaper -a <adapter> -d <rate> -u <rate>
 
wondershaper -c -a <adapter>
 
wondershaper -s -a <adapter>
 
 
 
EXAMPLES: 【使用示例】
 
wondershaper -a eth0 -d 1024 -u 512 【设置网卡eth0的上行速度为512kbps,下行速度为1024kbps】
 
wondershaper -a eth0 -u 512 【只设置上行速度为512kbps】
 
wondershaper -c -a eth0 【清除网卡eth0的规则】
 
wondershaper -p -f foo.conf 【设置指定的配置文件】
 
 
 
root@****-5491:/home/soft/wondershaper#
 

4.WonderShaper使用示例

4.1查看网卡状态

 
 
root@****-5491:/home/soft/wondershaper# ifconfig eno1
 
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
 
inet 192.168.5.103 netmask 255.255.255.0 broadcast 192.168.5.255
 
inet6 fe80::2c93:21f9:1931:304 prefixlen 64 scopeid 0x20<link>
 
ether c8:f7:50:7e:50:48 txqueuelen 1000 (Ethernet)
 
RX packets 7748809 bytes 1034513376 (1.0 GB)
 
RX errors 0 dropped 439 overruns 0 frame 0
 
TX packets 15528838 bytes 4784318169 (4.7 GB)
 
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
 
device interrupt 16 memory 0x91500000-91520000
 
 
 
root@****-5491:/home/soft/wondershaper# ./wondershaper -s -a eno1
 
qdisc fq_codel 0: root refcnt 2 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn
 
Sent 4528052159 bytes 14890189 pkt (dropped 0, overlimits 0 requeues 4224)
 
backlog 0b 0p requeues 4224
 
maxpacket 66616 drop_overlimit 0 new_flow_count 35953 ecn_mark 0
 
new_flows_len 0 old_flows_len 0
 
 
 
--测试网速
 
root@****-5491:/home/soft/wondershaper# speedtest
 
Retrieving speedtest.net configuration...
 
Testing from China Telecom (120.36.98.11)...
 
Retrieving speedtest.net server list...
 
Selecting best server based on ping...
 
Hosted by Fuzhou China Mobile,Fujian (Fuzhou) [589.19 km]: 14.449 ms
 
Testing download speed................................................................................
 
-- 下载网速是171.43 Mbit/s,
 
Download: 171.43 Mbit/s
 
Testing upload speed......................................................................................................
 
-- 上传网速是4.15 Mbit/s
 
Upload: 4.15 Mbit/s
 

4.2限制网卡速度(单位Kbps)

 
 
-- 下行2048kbps=2 Mbit/s,上行 1024kbps=1 Mbit/s
 
root@****-5491:/home/soft/wondershaper# ./wondershaper -a eno1 -d 2048 -u 1024
 
 
 
--测试网速
 
root@****-5491:/home/soft/wondershaper# speedtest
 
Retrieving speedtest.net configuration...
 
Testing from China Telecom (120.36.98.11)...
 
Retrieving speedtest.net server list...
 
Selecting best server based on ping...
 
Hosted by Far EasTone Telecom (Miaoli City) [722.10 km]: 174.383 ms
 
Testing download speed................................................................................
 
-- 下行速度
 
Download: 1.80 Mbit/s
 
Testing upload speed......................................................................................................
 
--上行速度
 
Upload: 1.28 Mbit/s
 
root@****-5491:/home/soft/wondershaper#
 

4.3取消限速

 
 
--取消限速
 
root@****-5491:/home/soft/wondershaper# ./wondershaper -c -a eno1
 
 
 
-- 查看网卡状态
 
root@****-5491:/home/soft/wondershaper# ./wondershaper -s -a eno1
 
qdisc fq_codel 0: root refcnt 2 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn
 
Sent 123022 bytes 471 pkt (dropped 0, overlimits 0 requeues 0)
 
backlog 0b 0p requeues 0
 
maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
 
new_flows_len 0 old_flows_len 0
 
 
 
-- 测试网速
 
root@****-5491:/home/soft/wondershaper# speedtest
 
Retrieving speedtest.net configuration...
 
Testing from China Telecom (120.36.98.11)...
 
Retrieving speedtest.net server list...
 
Selecting best server based on ping...
 
Hosted by Far EasTone Telecom (Miaoli City) [722.10 km]: 173.886 ms
 
Testing download speed................................................................................
 
Download: 11.29 Mbit/s
 
Testing upload speed......................................................................................................
 
Upload: 2.93 Mbit/s
 
root@****-5491:/home/soft/wondershaper#
 

5.WonderShaper在测试中的应用

  • 测试项目:某内部数据库迁移工具

  • 测试目的:数据迁移中,对目标端进行限速,当取消限速后,传输速度可以恢复

  • 测试步骤:起迁移进程,在目标端服务器上用WonderShaper工具进行限速:

     
     
    -- 只限制下行速度
     
    [#22#root@**** ~/wondershaper 14:49:32]22 ./wondershaper -a enp0s3 -d 100
     
  • 测试结果:

    限速后,写目标库单位写入行数和单位写入字节数都急剧下降,如下图:

2630741-20220831094736279-1706023113

 
 
取消限速,恢复网络后,传输速率慢慢恢复:
 

2630741-20220831094736640-1476630909-1

2630741-20220831094736914-1168193485

6.网速单位转换

 
 
1KB/s = 8kbps = 8kb/s
 
比如一般100M的宽带,实际是100Mbps=(100/8) MB/s=12.5 MB/s
 

7.总结

使用WonderShaper对网卡进行限速,在测试时可以针对性的指定网卡,指定上传速度或者指定下载速度,在测试中上传和下载速度是互不影响的,可以只限制一方;且WonderShaper工具操作简单好入手,是个不错的工具。

images-1

===以下方式更简单转自1024.Day===

首先更新服务器所有组件:

Debian/Ubuntu: apt -y update && apt -y install wget curl nano zip unzip screen && apt -y upgrade

CentoS/Redhat:  yum -y update && yum -y install wget curl nano zip unzip screen && yum -y upgrade

下载:
git clone https://github.com/magnific0/wondershaper.git
安装:
cd wondershaper
make install
运行:
比如限速200Mbps,注意修改网卡名,可以用 ip a 或者 ifconfig 命令查看网卡名:
wondershaper -a eth1 -d 200000 -u 200000
清空限速:
wondershaper -c -a eth1
后台开机自运行,可以修改配置文件:
vi /etc/systemd/wondershaper.conf
内容如下:
[wondershaper]
# Adapter
IFACE="eth1"
# Download rate in Kbps
DSPEED="200000"
# Upload rate in Kbps
USPEED="200000"
然后启动一下systemd服务就好了:
systemctl enable wondershaper
systemctl start wondershaper
现在我们可以查看状态:
systemctl status wondershaper

「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」

赞(0) 打赏
一分也是爱

支付宝扫一扫打赏

微信扫一扫打赏

上一篇:

下一篇:

相关推荐

博客简介

本站CDN采用VmShell免费提供离中国大陆最近的香港CMI高速网络做支撑,ToToTel打造全球最快速的边沿网络支撑服务,具体详情请见 :https://vmshell.com/ 以及 https://tototel.com/,网站所有的文件和内容禁止大陆网站搬迁复制,谢谢,VPS营销投稿邮箱: admin@linuxxword.com,我们免费帮大家发布,不收取任何费用,请提供完整测试文稿!

精彩评论

友情链接

他们同样是一群网虫,却不是每天泡在网上游走在淘宝和网游之间、刷着本来就快要透支的信用卡。他们或许没有踏出国门一步,但同学却不局限在一国一校,而是遍及全球!申请交换友链

站点统计

  • 文章总数: 2334 篇
  • 草稿数目: 12 篇
  • 分类数目: 6 个
  • 独立页面: 0 个
  • 评论总数: 2 条
  • 链接总数: 0 个
  • 标签总数: 5988 个
  • 注册用户: 139 人
  • 访问总量: 8,661,871 次
  • 最近更新: 2024年4月27日